Method and Apparatus for Bidding on Broadcast Service Requests and Offers From Nearby Devices

ABSTRACT

An improved method, apparatus, and computer instructions in a portable device for obtaining bids for a task. Access to a task in a set of tasks for bidding is provided through a wireless network. The access to the task includes a specification of a selected distance between a bidding entity and a location of the portable device that the bidding entity is required to be located within for generating bids. A bid for the task is received from an entity through the wireless network if the entity is within a selected distance of a location of the portable device. The bid may be accepted for completing the task.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates generally to an improved data processingsystem and in particular, to a method, apparatus, and computerinstructions for processing data. Still more particularly, the presentinvention relates an improved method, apparatus, and computerinstructions for bidding on requests from devices.

2. Description of Related Art

Personal digital assistants (PDAs) are becoming more commonplace. A PDAis a handheld computer that serves as an organizer for personalinformation. PDAs provide many organizational features, such as acalendar, an address book, a calculator, a memo or notepad, and a taskmanager. Features from PDAs may be combined with other devices, suchcell phones and with other wireless technologies to provide a mobileoffice for people on the go.

Additionally, many PDAs are Web enabled. In other words, these devicesare able access the World Wide Web (“Web”) in a fashion similar todesktop and laptop computers. Further, wireless technologies allow PDAsto access this information from any location in which wireless access isprovided for users. With this feature, users may obtain telephonenumbers, addresses, and directions for people and businesses usingWeb-based white or yellow pages from their PDAs. For example, if a useris looking for a gas station, the user may lookup this information andobtain directions to the gas station by looking up this informationusing a Web-based yellow pages. Further, the ability to find businessesoffering items, such as goods or services is particularly useful to auser completing tasks in a task manager. A user may find severalbusinesses that offer the service or item that the user needs tocomplete a task. In doing so, the user may visit or call thesebusinesses to see what offers or specials that may be present. Also, theuser may wish to use a business that is close by to the location of theuser. A Website providing directions may be used to find out how faraway different businesses are located. Although the ability to findthese businesses is useful, checking out each business is oftentime-consuming.

It would be advantageous to have an improved method, apparatus, andcomputer instructions for completing tasks in which offers or requestsfor items are made through Web enabled portable devices.

SUMMARY OF THE INVENTION

The present invention provides an improved method, apparatus, andcomputer instructions in a portable device for obtaining bids for atask. Access to a task in a set of tasks for bidding is provided througha wireless network. The access to the task includes a specification of aselected distance between a bidding entity and a location of theportable device that the bidding entity is required to be located withinfor generating bids. A bid for the task is received from an entitythrough the wireless network if the entity is within a selected distanceof a location of the portable device. The bid may be accepted forcompleting the task.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objectives and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 is a diagram illustrating a network data processing system inaccordance with a preferred embodiment of the present invention;

FIG. 2 is a block diagram of a data processing system that may beimplemented as a server in accordance with a preferred embodiment of thepresent invention;

FIG. 3 is a diagram of a mobile telephone in accordance with a preferredembodiment of the present invention;

FIG. 4 is a block diagram of a camera phone in accordance with apreferred embodiment of the present invention;

FIG. 5 is a diagram of a client in the form of a personal digitalassistant (PDA) in accordance with a preferred embodiment of the presentinvention;

FIG. 6 is a block diagram of a PDA in accordance with a preferredembodiment of the present invention;

FIG. 7 is a diagram illustrating components used in bidding onbroadcasted requests in accordance with a preferred embodiment of thepresent invention;

FIG. 8 is a diagram illustrating components used to bid on requests inaccordance with a preferred embodiment of the present invention;

FIG. 9 is a diagram of tasks in accordance with a preferred embodimentof the present invention;

FIG. 10 is a flowchart of a process for bidding on tasks in accordancewith a preferred embodiment of the present invention;

FIG. 11 is a flowchart of a process for generating location informationfor use in bidding in accordance with a preferred embodiment of thepresent invention;

FIG. 12 is a flowchart of a process for handling tasks in a server inaccordance with a preferred embodiment of the present invention; and

FIG. 13 is a flowchart of a process for bidding on tasks in accordancewith a preferred embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference to the figures, and in particular FIG. 1, a diagramillustrating a network data processing system is depicted in accordancewith a preferred embodiment of the present invention. Network dataprocessing system 100 includes network 102, which is the medium used toprovide communications links between various devices and computersconnected together within network data processing system 100. Network102 may include connections, such as wire, wireless communication links,or fiber optic cables.

Server 104 is connected to network 102 through communications link 106.In the depicted example, server 104 provides data, such as boot files,operating system images, and applications to clients, such as PDA 108,PDA 110, mobile phone 112, mobile phone 114, and mobile phone 116. Theseclients are mobile or portable devices connected to network 102 throughwireless communications links 118, 120, 122, 124, and 126. Through thesewireless communications links, the clients are able to accessinformation from server 104, such as Web sites or databases. Thesewireless communications links may be established using various radiofrequency systems. For example, 802.11 is a family of IEEE standards forwireless local area networks. This set of standards is designed toextend Ethernet into the wireless domain. Another standard that may beused for these communications links is Bluetooth, which is a wirelesspersonal area network (PAN) technology from the Bluetooth SpecialInterest Group. Bluetooth is an open standard for short-rangetransmission of digital voice and data between mobile devices (laptops,PDAs, phones) and desktop devices. This standard supports point-to-pointand multipoint applications.

Network data processing system 100 may include additional servers,clients, and other devices not shown. In the depicted example, networkdata processing system 100 is the Internet with network 102 representinga worldwide collection of networks and gateways that use theTransmission Control Protocol/Internet Protocol (TCP/IP) suite ofprotocols to communicate with one another. At the heart of the Internetis a backbone of high-speed data communication lines between major nodesor host computers, consisting of thousands of commercial, government,educational and other computer systems that route data and messages. Ofcourse, network data processing system 100 also may be implemented as anumber of different types of networks, such as for example, an intranet,a local area network (LAN), or a wide area network (WAN). FIG. 1 isintended as an example, and not as an architectural limitation for thepresent invention.

Additionally, clients 108, 110, 112, 114, and 116 also include globalpositioning system (GPS) capabilities that allow these clients to beaware of their location through information received from a globalpositioning system 128. A global positioning system is a worldwidesatellite navigational system formed by satellites orbiting the earthand their corresponding receivers on the earth. The global positioningsystem satellites continuously transmit digital radio signals thatcontain data on the satellite location and the exact time to theearth-bound receivers, such as clients 108, 110, 112, 114, and 116.

Based on this information the receivers know how long it takes for thesignal to reach the receiver on earth. As each signal travels, thelonger it takes the receiver to get the signal, the farther away thesatellite is. By knowing how far away a satellite is, the receiver knowsthat it is located somewhere on the surface of an imaginary spherecentered at the satellite. By using three satellites, a globalpositioning system can calculate the longitude and latitude of thereceiver based on where the three spheres intersect. By using foursatellites, a global positioning system can also determine altitude.

The present invention recognizes that requests based from tasks may bebroadcast by devices to obtain bids or offers from vendors orbusinesses, performing a service or selling an item for a task. Often, auser may desire to receive bids from businesses that are close by to thelocation of the user. The user may set a preference for how close abusiness should be located. In one illustrative example, requests aresent and bids are received when the user carrying the device enter therange of a wireless network for a particular business. Alternatively,the location of the user may be established by a global positioningsystem unit located in the device.

Referring to FIG. 2, a block diagram of a data processing system thatmay be implemented as a server, such as server 104 in FIG. 1, isdepicted in accordance with a preferred embodiment of the presentinvention. Data processing system 200 may be a symmetric multiprocessor(SMP) system including a plurality of processors 202 and 204 connectedto system bus 206. Alternatively, a single processor system may beemployed. Also connected to system bus 206 is memory controller/cache208, which provides an interface to local memory 209. I/O Bus Bridge 210is connected to system bus 206 and provides an interface to I/O bus 212.Memory controller/cache 208 and I/O Bus Bridge 210 may be integrated asdepicted.

Peripheral component interconnect (PCI) bus bridge 214 connected to I/Obus 212 provides an interface to PCI local bus 216. A number of modemsmay be connected to PCI local bus 216. Typical PCI bus implementationswill support four PCI expansion slots or add-in connectors.Communications links to clients 108-112 in FIG. 1 may be providedthrough modem 218 and network adapter 220 connected to PCI local bus 216through add-in connectors.

Additional PCI bus bridges 222 and 224 provide interfaces for additionalPCI local buses 226 and 228, from which additional modems or networkadapters may be supported. In this manner, data processing system 200allows connections to multiple network computers. A memory-mappedgraphics adapter 230 and hard disk 232 may also be connected to I/O bus212 as depicted, either directly or indirectly.

Those of ordinary skill in the art will appreciate that the hardwaredepicted in FIG. 2 may vary. For example, other peripheral devices, suchas optical disk drives and the like, also may be used in addition to orin place of the hardware depicted. The depicted example is not meant toimply architectural limitations with respect to the present invention.

The data processing system depicted in FIG. 2 may be, for example, anIBM eServer pSeries system, a product of International Business MachinesCorporation in Armonk, N.Y., running the Advanced Interactive Executive(AIX) operating system or LINUX operating system.

With reference now to FIG. 3, a diagram of a mobile telephone isdepicted in accordance with a preferred embodiment of the presentinvention. Mobile phone 300 is an example of a portable data processingsystem in which the present invention may be implemented. Mobile phone300 includes screen 302, which is capable of displaying pictures andtext. Additionally, mobile phone 300 also includes numeric keypad 304,joystick 306, and buttons 308, 310, 312, and 314 placed around thejoystick 306. These buttons are used to initiate various functions inmobile phone 300. These functions include, for example, activating amenu, displaying a calendar, or initiating a call. Mobile phone 300 alsoincludes camera 316, which may be used to take pictures or videosdepending on the implementation.

Turning next to FIG. 4, a block diagram of a camera phone is depicted inaccordance with a preferred embodiment of the present invention. Cameraphone 400 includes baseband processor 402, application processor 404,flash/static random access memory (SRAM) 406, flash card 408, radiofrequency integrated circuit (RFIC) 410, radio frequency (RF) module412, antenna 414, Bluetooth unit 416, color liquid crystal display (LCD)418, camera 420, and IC card 422.

Baseband processor 402 provides for receiver and transmitter operationsand is also referred to as a transceiver. In particular, basebandprocessor 402 handles all of the audio, signal, and data processingneeded to receive and send data using RF transmissions or Bluetoothtransmissions. Application processor 404 provides the processing powerfor other functions within camera phone 400. For example, calculators,calendars, alarms, camera functions, and directories are providedthrough application processor 404. Flash/SRAM 406 is a storage device inwhich various instructions for providing the functions within cameraphone 400 are located and provide upgrades. Flash card 408 is a storagedevice in which user data and applications may be stored. An example offlash card 408 is a secure digital card.

A pathway for the transmission of voice and other types of data isthrough RFIC 410. Additionally, short range transmissions may be sent orreceived through Bluetooth unit 416. Bluetooth unit 416 conforms toBluetooth wireless specification, which defines the link layer andapplication layer for product developers. Both of these transmissionsare made through antenna 414 in this illustrative example.

Color LCD 418 provides a display for pictures and other data for cameraphone 400. Camera 420, in this example, is a complementary metal oxidesemiconductor (CMOS) camera, which may be built into camera phone 400 orconnected to camera phone 400 as a module, such as IC card 422. IC card422 also may contain other application specific functions, such as aglobal positioning system or other functions, such as a modem oradditional memory. Camera 420 forms the camera module of camera phone400, while the other components form the digital phone module of cameraphone 400 in these illustrative examples.

With reference now to FIG. 5, a diagram of a client in the form of apersonal digital assistant (PDA) is depicted in accordance with apreferred embodiment of the present invention. PDA 500 is an example ofa portable data processing system in which the present invention may beimplemented. PDA 500 includes a display 502 for presenting textual andgraphical information. Display 502 may be a known display device, suchas a liquid crystal display (LCD) device. The display may be used topresent a map or directions, calendar information, a telephonedirectory, or an electronic mail message. In these examples, screen 502may receive user input using an input device such as, for example,stylus 510.

PDA 500 may also include keypad 504, speaker 506, and antenna 508.Keypad 504 may be used to receive user input in addition to using screen502. Speaker 506 provides a mechanism for audio output, such aspresentation of an audio file. Antenna 508 provides a mechanism used inestablishing a wireless communications link between PDA 500 and anetwork, such as network 202 in FIG. 2.

PDA 500 also preferably includes a graphical user interface that may beimplemented by means of systems software residing in computer readablemedia in operation within PDA 500.

Turning now to FIG. 6, a block diagram of a PDA is shown in accordancewith a preferred embodiment of the present invention. PDA 600 is anexample of a PDA, such as PDA 500 in FIG. 5, in which code orinstructions implementing the processes of the present invention may belocated. PDA 600 includes a bus 602 to which processor 604 and mainmemory 606 are connected. Display adapter 608, keypad adapter 610,storage 612, and audio adapter 614 also are connected to bus 602. Cradlelink 616 provides a mechanism to connect PDA 600 to a cradle used insynchronizing data in PDA 600 with another data processing system.Further, display adapter 608 also includes a mechanism to receive userinput from a stylus when a touch screen display is employed.

An operating system runs on processor 604 and is used to coordinate andprovide control of various components within PDA 600 in FIG. 6. Theoperating system may be, for example, a commercially available operatingsystem such as Windows CE, which is available from MicrosoftCorporation. Instructions for the operating system and applications orprograms are located on storage devices, such as storage 612, and may beloaded into main memory 606 for execution by processor 604. PDA 600 alsoincludes global positioning system unit 618. This unit is employed toprovide location information for PDA 600.

Those of ordinary skill in the art will appreciate that the hardware inFIG. 6 may vary depending on the implementation. Other internal hardwareor peripheral devices, such as flash ROM (or equivalent nonvolatilememory) or optical disk drives and the like, may be used in addition toor in place of the hardware depicted in FIG. 6.

Turning next to FIG. 7, a diagram illustrating components used inbidding on broadcasted requests is depicted in accordance with apreferred embodiment of the present invention. In this example, biddingprocess 700 may access or receive task 702 from task manager 704.Bidding process 700 may be located on a data processing system for avendor or business. This data processing system may be implemented usingdata processing system 200 in FIG. 2. Task manager 704 may be located ina portable device such as camera phone 400 in FIG. 4 or PDA 600 in FIG.6.

Task 702 is a task from task list 706 managed through task manager 704.Task 702 may be broadcast by task manager 704 to bidding process 700through a wireless network. In response to receiving this broadcastedtask, bidding process 700 determines whether the task contains an itemoffered by the business. In these examples, an item may be goods orservices. For example, the business may be a florist. If the task is forthe purchase of a plant or a floral arrangement, a bid or offer toprovide the item in the task may be made to complete this task. In thiscase, bidding process 700 returns bid 708 to task manager 704. Bid 708may be accepted or rejected by the user.

On the other hand, if the task is for a car wash, bidding process 700ignores task 702 because the item is not a service offered by thebusiness. This process may be repeated for each task on task list 706.

With reference to FIG. 8, a diagram illustrating components used to bidon requests is depicted in accordance with a preferred embodiment of thepresent invention. In these examples, bidding process 800 and biddingprocess 802 are located in data processing systems, such as dataprocessing system 200 in FIG. 2. These processes may access Web server804 to identify tasks 806. These tasks are ones for which users haverequested bids to complete these tasks.

Tasks 806 may be received from task manager 808, which is located in adevice such as camera phone 400 in FIG. 4. In this example, tasks 806originate from task list 810. Tasks 806 may include tasks from othertasks list in other devices. In this example, task Manager 808broadcasts tasks to Web server 804, rather than sending the tasksdirectly to a bidding process, such as shown in FIG. 7.

Bidding process 800 and bidding process 802 may be found in variouslocations. In some cases, a bidding process may be farther away thandesired by a user. For example, a business for bidding process 800 maybe located within one mile of a device in which task manager 808 islocated while bidding process 802 may be located ten miles away fromtask manager 808. Web server 804 examines each task in tasks 806 andidentifies businesses to sent the task for bidding. Based on thedistance specified for the task, Web server 804 selectively sends taskto bidding process 800 and bidding process 802. Further, Web server 804may match up items in the task to select which business tasks are sentto for bidding.

In this example, bidding process 802 does not receive task from Webserver 804 for bidding tasks, while bidding process 800 receives tasksfrom Web server 804. In response, bidding process 800 generates bidsdepending on the particular type of items present in tasks 806. In thisexample, the bid is sent by bidding process 800 as a reply or e-mailmessage to e-mail server 812. This reply e-mail message is then sent totask manager 808 for presentation to the user.

In FIG. 9, a diagram of tasks is depicted in accordance with a preferredembodiment of the present invention. Tasks 900 contains entries 902 and904. Tasks 900 is an example of tasks 806 in FIG. 8. Each entry includesa user identifier, a task, a location, and a distance. The user ID isused to identify the device from which the task originated. The taskidentifies the particular assignment or job to be performed. Thelocation identifies the current location of the task manager. In theseexamples, the location is in terms of latitude and longitude. Thedistance in each entry is the farthest distance that the vendor orbusiness should be located from the device for the task to be subject toa bid.

Turning next to FIG. 10, a flowchart of a process for bidding on tasksis depicted in accordance with a preferred embodiment of the presentinvention. The process illustrated in FIG. 10 may be implemented in atask manager such as task manager 704 in FIG. 7.

The process begins by identifying one or more tasks for bidding (step1000). In step 1000, the user may select tasks for which bidding isdesired. Alternatively, all of the tasks in a task list may be selectedin step 1000. These tasks are published (step 1002). The tasks arepublished by broadcasting them onto a wireless network. These tasks maybe directly received by a business through its wireless network or sentto a Web server or other server for access by businesses desiring to bidon tasks.

The process then waits to receive bids for the published tasks (step1004). In the illustrative examples, the bids are received frombusinesses that are within a selected distance of the portable device.In this manner a user may specify how far the user is willing to travelto purchase an item to complete a task. Bids are not received frombusinesses outside of this maximum distance that the user is willing totravel. When bids are received, these received bids are presented to theuser (step 1006). In these examples, these bids are displayed on thedisplay screen of the portable device. The process receives the userinput (step 1008). A determination is made as to whether a bid has beenselected (step 1010). If a bid has been selected for acceptance, theacceptance of the bid is sent to the entity sending the bid (step 1012).A determination is then made as to whether there are more tasks withbids (step 1014). If tasks with bids are present, the process returns tostep 1006 to present the new bids to the user.

With reference again to step 1014, if there are no tasks with bidspresent the process terminates. Turning back to step 1010, if no bid isselected by the user, the process turns to step 1014 to determinewhether there are more tasks with bids present.

Turning next to FIG. 11, a flowchart of a process for generatinglocation information for use in bidding is depicted in accordance with apreferred embodiment of the present invention. The process illustratedin FIG. 11 may be implemented in a task manager such as task manager 704in FIG. 7.

The process begins by identifying a location by using a globalpositioning system unit located in the portable device in which the taskmanager is located (step 1100). The location is associated with thetasks for bidding (step 1102). Next, the tasks are sent to a Web server(step 1104) with the process terminating thereafter. The tasks are sentto a Web server, such as Web server 804 in FIG. 8. This locationinformation is used to determine whether a business offering services oritems is located within a distance specified by the user to generatebids.

In FIG. 12, a flowchart of a process for handling tasks in a server isdepicted in accordance with a preferred embodiment of the presentinvention. The process illustrated in FIG. 12 may be implemented in aserver such as Web server 804 in FIG. 8.

The process begins by receiving a task form a portable device (step1200). This task may be received through a wireless network in which theportable device is located. Entry 902 in FIG. 9 is an example of a taskthat may be received in step 1200. The location of the portable deviceis located (step 1202). Is this example, the location of the portabledevice is included in the task. The item for the task is identified(step 1204). Then, the desired distance is identified from the task(step 1206). In these examples, the desired distance is the maximumdistance from which the portable device may be located with respect to abusiness bidding on the item in the task. This feature in these depictedexamples, allows a user to specify how far the user is willing to travelto purchase an item and receive bids from those business or entitiesthat are within the distance that the user is willing to travel.

Next, businesses offering the item are identified (step 1208). In thisexample, these businesses may be identified through businesses that haveregistered for this service in which tasks are forwarded or sent toqualified businesses for bidding. Additionally, businesses identified instep 1208 are selected such that the selected businesses are within adesired distance of the portable device (step 1210). The task is sent tothe selected business for bidding (step 1212) with the processterminating thereafter.

Turning next to FIG. 13, a flowchart of a process for bidding on tasksis depicted in accordance with a preferred embodiment of the presentinvention. The process illustrated in FIG. 13 may be implemented in abidding process such as bidding process 700 in FIG. 7 or bidding process800 in FIG. 8.

The process begins by making a determination as to whether tasks areavailable for bidding (step 1300). This step may be accomplished in anumber of different ways. For example, step 1300 may be implemented bychecking to see if the portable device has broadcast any tasks forbidding. This broadcasting may occur when the portable device moveswithin the wireless network of the business. Alternatively, in theseexamples, the portable device may move within a wireless network andprovide bids to a server for access by a business bidding on tasks. Inthis case, if the bidding process occurs through a Web server, the Webserver sends tasks to the bidding process for bidding. In either case,tasks may be present from multiple portable devices.

If tasks are available for bidding, an unprocessed task is selected forprocessing (step 1302). A determination is made as to whether theselected task contains an item offered by the business (step 1304). Thisitem may be goods or services. For example, if the business is ahardware store and the task is to obtain a power saw, this task containsan item offered by the business. In this example, if the task is topurchase groceries, the task is not an item offered by the business.Additionally, if the task is received from a Web server that hastransmitted the task based on items offered by the business, step 1304may be skipped.

If the task is in a category handled by the business, a bid is generated(step 1306). Bids may be generated using a number of differentmechanisms. For example, the item to be purchased may be compared with apricing list to identify a price for the bid. Services and goodsproviders generally have lower bounds on prices such that they remainprofitable. Such providers also have an idea of typical prices andtypical supplies. The freedom to dynamically change prices allowsbusinesses to flexibly coordinate supply and demand. In view of theseassumptions, bids may be generated manually by a person, who receivesincoming task lists and quotes explicit prices. Alternatively, in apreferred embodiment, a data processing system is used to generate bidsautomatically. A vendor who has a surplus of roses bids lower pricesthan normal. On the other hand, an auto detailing shop that is operatingat 95 percent capacity might choose to bid a higher price than normaldue to the increase in demand. Other businesses might bid very low onone item to simply get the customer to enter the store and perhaps makeadditional purchases.

Next, a determination is made as to whether additional unprocessed tasksare present for bidding (step 1308). If additional unprocessed tasks arepresent, the process returns to step 1302 to select another task forprocessing. Otherwise, a determination is made as to whether a bid or aset of bids have been generated (step 1310). If one or more bids havebeen generated, a reply is sent (step 1312) with the process terminatingthereafter. This reply may take different forms, for example, the bidmay be sent directly to the portable device through the wirelessnetwork. Alternatively, if the portable is not within the wirelessnetwork of the business generating the bid, the reply may be sentthrough other mechanisms, such as an e-mail message.

The process terminates without sending a reply if one or more bids havenot been generated. The process also terminates form step 1300 if tasksare not available for bidding.

Thus, the present invention provides an improved method, apparatus, andcomputer instructions for processing service requests broadcast byportable devices. This mechanism allows a business to receive taskscontaining items that are broadcast by portable device for bidding. Insome case, the business only receives the bid if the business is locatedwithin some select distance from the portable device. A businessexamines a task broadcast or published by a portable device to determinewhether the business will generate a bid to provide the item. This bidis received by the portable device and presented to the user. The usermay accept or reject the bid.

The mechanism of the present invention also may work in reverse. Thebusiness may generate bids or offers and send them to portable deviceslocated within some selected distance from the business.

It is important to note that while the present invention has beendescribed in the context of a fully functioning data processing system,those of ordinary skill in the art will appreciate that the processes ofthe present invention are capable of being distributed in the form of acomputer readable medium of instructions and a variety of forms and thatthe present invention applies equally regardless of the particular typeof signal bearing media actually used to carry out the distribution.Examples of computer readable media include recordable-type media, suchas a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, andtransmission-type media, such as digital and analog communicationslinks, wired or wireless communications links using transmission forms,such as, for example, radio frequency and light wave transmissions. Thecomputer readable media may take the form of coded formats that aredecoded for actual use in a particular data processing system.

The description of the present invention has been presented for purposesof illustration and description, and is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the art. Forexample, the portable device may include a process to filter out bidsfrom entities or businesses that are located farther away from theselected distance that the user desires to travel. The process may usethe location of the business and the location of the portable device todetermine if the bid has been received from a business within theselected distance for acceptable bids. Bids within the desired distancemay be displayed while other bids not within the desired distance arediscarded. In another example, tasks in the depicted examples aredescribed as containing only a single item. In other embodiments, a taskmay contain multiple items. The embodiment was chosen and described inorder to best explain the principles of the invention, the practicalapplication, and to enable others of ordinary skill in the art tounderstand the invention for various embodiments with variousmodifications as are suited to the particular use contemplated.

1-21. (canceled)
 22. The data processing system of claim 30, wherein thesending means includes: means for sending at least one e-mail messagefrom the entity containing the bid.
 23. The data processing system ofclaim 30, wherein the task is at least one of a purchase of an item anda purchase of a service.
 24. (canceled)
 25. The data processing systemof claim 34, wherein the location of the portable device is determinedusing a global positioning system.
 26. The data processing system ofclaim 34, wherein the location of the portable device is approximatedbased on connectivity of the portable device with the wireless network.27. The data processing system of claim 30, wherein the wireless networkis a Bluetooth network.
 28. The data processing system of claim 30,wherein the selected distance is selected by the user of the portabledevice.
 29. The data processing system of claim 30, wherein thespecification of the selected distance is located in the task.
 30. Adata processing system for bidding on a task, the data processing systemcomprising: detecting means for detecting a task published by a portabledevice for bidding, wherein the detecting mean comprises: means fordetecting a presence of the portable device in a wireless network forthe data processing system; determining means, responsive to detectingthe presence of the portable device, for determining by the dataprocessing system whether a task list for the portable device isaccessible; accessing means for accessing the task list to detect thetask in the task list; first determining means for determining whetherthe portable device is within a selected distance of a location; seconddetermining means for determining whether the task can be completed;generating means for generating a bid to complete the task if theportable device is within the selected distance of the location and adetermination is made that the task can be completed; and sending meansfor sending the bid to the portable device.
 31. The data processingsystem of claim 30, wherein the location is a location of an entitygenerating the bid.
 32. (canceled)
 33. The data processing system ofclaim 30, wherein the detecting means includes: establishing means forestablishing a connection with a Web server; and identifying means foridentifying the task at the Web server.
 34. The data processing systemof claim 33, wherein the task is associated with a location of theportable device and wherein the determining means includes: first meansfor determining whether the task is of a type that can be completed; andsecond means for determining whether the location of the portable deviceallows for completion of the task. 35.-38. (canceled)
 39. The computerprogram product of claim 47, wherein the second instructions include:sub instructions for sending at least one e-mail from the entitycontaining the bid.
 40. The computer program product of claim 47,wherein the task is at least one of a purchase of an item and a purchaseof a service.
 41. (canceled)
 42. The computer program product of claim51, wherein the location of the portable device is determined using aglobal positioning system.
 43. The computer program product of claim 51,wherein the location of the portable device is approximated based onconnectivity of the portable device with the wireless network.
 44. Thecomputer program product of claim 47, wherein the wireless network is aBluetooth network.
 45. The computer program product of claim 47, whereinthe selected distance is selected by a user of the portable device. 46.The computer program product of claim 47, wherein the specification ofthe selected distance is located in the task.
 47. A computer programproduct comprising: a computer readable medium having instructions forbidding on a task, the computer program product comprising: firstinstructions for detecting a task published by a portable device forbidding, the first instructions comprising: first sub instructions fordetecting a presence of the portable device in a wireless network forthe data processing system; second sub instructions, responsive todetecting the presence of the portable device, for determining by thedata processing system whether a task list for the portable device isaccessible; and third sub instructions for accessing the task list todetect the task in the task list; second instructions for determiningwhether the portable device is within a selected distance of a location;third instructions for determining whether the task can be completed;fourth instructions for generating a bid to complete the task if theportable device is within the selected distance of the location and thetask a determination is made that the task can be completed; and fifthinstructions for sending the bid to the portable device.
 48. Thecomputer program product of claim 47, wherein the location is a locationof an entity generating the bid.
 49. (canceled)
 50. The computer programproduct of claim 47, wherein the first instructions includes: first subinstructions for establishing a connection with a Web server; and secondsub instructions for identifying the task at the Web server.
 51. Thecomputer program product of claim 50, wherein the task is associatedwith a location of the portable device and wherein the firstinstructions include: first sub instructions for determining whether thetask is of a type that can be completed; and second sub instructions fordetermining whether the location of the portable device allows forcompletion of the task.